/*
 * Generator.h
 *
 *  Created on: 31-05-2011
 *      Author: chfast
 */

#ifndef SUDOKU_GENERATOR_INCLUDED
#define SUDOKU_GENERATOR_INCLUDED

#include "Board.h"

namespace sudoku {

template<size_t Rank = 9>
class Generator {
public:
	static bool solve(Board<Rank>& board);

	//static void generate(Board<Rank>& board);

	static Board<Rank> generate(unsigned int seed = 0);

	static size_t order(size_t x);

};

}

#include "Generator.impl.h"

#endif // SUDOKU_GENERATOR_INCLUDED
